For this project Financial Services - JP Morgan (JPM), Goldman Sachs (GS) Utilities- DTE energy co(DTE) and AES corp.(AES) Tech: Amazon(AMZN) and Apple(AAPL)

Time period for our project was July 2012- July 2021, but for the purpose of this project, we only focused on July 2019-July 2021, capturing the Pandemic effects on our stocks.

Source: All the data has been sourced from yahoo finance and US Dept. of Treasury

Data Cleansing and Loading

##            date   Open   High    Low  Close Adj.Close  Volume
## 1    2012-07-02  96.56  97.30  95.59  97.13  84.35642 3515900
## 2    2012-07-03  97.13  98.77  96.63  98.60  85.63309 2251100
## 3    2012-07-05  98.21  98.21  95.89  95.92  83.30554 3736900
## 2285 2021-07-30 376.57 379.95 373.06 374.88 374.88000 1474900
##            JPM.Open JPM.High JPM.Low JPM.Close JPM.Adjusted JPM.Volume
## 2012-07-02    36.27    36.36   35.59     36.28     28.08434   34274900
## 2012-07-03    35.96    36.14   35.54     35.88     28.00628   26705900
## 2012-07-05    35.61    35.66   34.22     34.38     26.83545   58519800
## 2021-07-30   152.58   153.67  151.20    151.78    151.78000    9804600
##            AES.Open AES.High AES.Low AES.Close AES.Adjusted AES.Volume
## 2012-07-02    12.94    12.94   12.64     12.72     9.696997    3358200
## 2012-07-03    12.72    12.82   12.68     12.81     9.765604    3649200
## 2012-07-05    12.75    12.88   12.71     12.83     9.780853    4550700
## 2021-07-30    23.89    24.22   23.65     23.70    23.700001    5208900
##             DTE.Open  DTE.High   DTE.Low DTE.Close DTE.Adjusted DTE.Volume
## 2012-07-02  50.02553  51.03830  50.02553  50.53617     36.88431    1574618
## 2012-07-03  50.51915  50.70638  50.43404  50.68085     36.98992     438980
## 2012-07-05  50.50213  50.85106  50.37447  50.37447     36.76629     841653
## 2021-07-30 117.91000 118.66000 116.95000 117.32000    117.32000     643000
##            AAPL.Open AAPL.High  AAPL.Low AAPL.Close AAPL.Adjusted AAPL.Volume
## 2012-07-02  20.88321  21.19536  20.84286   21.16143      18.19678   400092000
## 2012-07-03  21.24571  21.42857  21.21429   21.40750      18.40837   241712800
## 2012-07-05  21.44857  21.94071  21.41607   21.78357      18.73176   484383200
## 2021-07-30 144.38001 146.33000 144.11000  145.86000     145.86000    70382000
##            AMZN.Open AMZN.High AMZN.Low AMZN.Close AMZN.Adjusted AMZN.Volume
## 2012-07-02    229.30    229.34   226.34     229.32        229.32     2330700
## 2012-07-03    229.14    229.53   227.59     229.53        229.53     1331700
## 2012-07-05    228.62    230.50   226.53     227.06        227.06     2682300
## 2021-07-30   3347.95   3368.14  3306.98    3327.59       3327.59     9957100

Plotting the data for each security to check for missing data

##      Index               JPM.Open         JPM.High         JPM.Low      
##  Min.   :2012-07-02   Min.   : 33.24   Min.   : 34.12   Min.   : 33.10  
##  1st Qu.:2014-10-09   1st Qu.: 58.54   1st Qu.: 59.09   1st Qu.: 58.06  
##  Median :2017-01-17   Median : 84.93   Median : 85.73   Median : 83.82  
##  Mean   :2017-01-15   Mean   : 84.75   Mean   : 85.53   Mean   : 83.99  
##  3rd Qu.:2019-04-25   3rd Qu.:108.66   3rd Qu.:109.83   3rd Qu.:107.49  
##  Max.   :2021-07-30   Max.   :167.26   Max.   :167.44   Max.   :165.53  
##    JPM.Close       JPM.Adjusted      JPM.Volume      
##  Min.   : 33.90   Min.   : 26.46   Min.   : 3324300  
##  1st Qu.: 58.57   1st Qu.: 48.79   1st Qu.:11725700  
##  Median : 84.70   Median : 74.98   Median :14658500  
##  Mean   : 84.77   Mean   : 76.51   Mean   :16666193  
##  3rd Qu.:108.50   3rd Qu.:100.03   3rd Qu.:19471700  
##  Max.   :166.44   Max.   :165.49   Max.   :83001000

##      Index               GS.Open          GS.High           GS.Low      
##  Min.   :2012-07-02   Min.   : 91.94   Min.   : 93.42   Min.   : 91.15  
##  1st Qu.:2014-10-09   1st Qu.:164.93   1st Qu.:166.40   1st Qu.:163.34  
##  Median :2017-01-17   Median :195.48   Median :197.59   Median :193.97  
##  Mean   :2017-01-15   Mean   :200.71   Mean   :202.71   Mean   :198.75  
##  3rd Qu.:2019-04-25   3rd Qu.:227.20   3rd Qu.:229.00   3rd Qu.:225.24  
##  Max.   :2021-07-30   Max.   :393.00   Max.   :393.26   Max.   :387.55  
##     GS.Close       GS.Adjusted       GS.Volume       
##  Min.   : 93.16   Min.   : 80.91   Min.   :  467700  
##  1st Qu.:165.04   1st Qu.:148.42   1st Qu.: 2294600  
##  Median :195.68   Median :183.07   Median : 2931500  
##  Mean   :200.76   Mean   :187.63   Mean   : 3263362  
##  3rd Qu.:226.97   3rd Qu.:213.89   3rd Qu.: 3760300  
##  Max.   :391.45   Max.   :391.45   Max.   :20410100

##      Index               AES.Open        AES.High        AES.Low     
##  Min.   :2012-07-02   Min.   : 8.60   Min.   : 8.65   Min.   : 8.11  
##  1st Qu.:2014-10-09   1st Qu.:11.42   1st Qu.:11.58   1st Qu.:11.31  
##  Median :2017-01-17   Median :13.10   Median :13.26   Median :12.96  
##  Mean   :2017-01-15   Mean   :14.26   Mean   :14.43   Mean   :14.09  
##  3rd Qu.:2019-04-25   3rd Qu.:15.24   3rd Qu.:15.41   3rd Qu.:15.10  
##  Max.   :2021-07-30   Max.   :28.80   Max.   :29.07   Max.   :28.53  
##    AES.Close      AES.Adjusted      AES.Volume      
##  Min.   : 8.54   Min.   : 6.936   Min.   :  986200  
##  1st Qu.:11.43   1st Qu.: 9.644   1st Qu.: 3995400  
##  Median :13.11   Median :10.660   Median : 5228200  
##  Mean   :14.26   Mean   :12.475   Mean   : 5747263  
##  3rd Qu.:15.28   3rd Qu.:14.137   3rd Qu.: 6803000  
##  Max.   :28.91   Max.   :28.575   Max.   :46067600

##      Index               DTE.Open         DTE.High         DTE.Low      
##  Min.   :2012-07-02   Min.   : 49.64   Min.   : 49.86   Min.   : 49.41  
##  1st Qu.:2014-10-09   1st Qu.: 65.49   1st Qu.: 66.01   1st Qu.: 64.97  
##  Median :2017-01-17   Median : 83.29   Median : 83.84   Median : 82.63  
##  Mean   :2017-01-15   Mean   : 82.11   Mean   : 82.75   Mean   : 81.44  
##  3rd Qu.:2019-04-25   3rd Qu.: 97.21   3rd Qu.: 98.34   3rd Qu.: 96.41  
##  Max.   :2021-07-30   Max.   :122.85   Max.   :123.77   Max.   :121.20  
##    DTE.Close       DTE.Adjusted      DTE.Volume     
##  Min.   : 49.70   Min.   : 36.28   Min.   : 213850  
##  1st Qu.: 65.51   1st Qu.: 52.17   1st Qu.: 878665  
##  Median : 83.37   Median : 71.87   Median :1120128  
##  Mean   : 82.13   Mean   : 72.06   Mean   :1249168  
##  3rd Qu.: 97.33   3rd Qu.: 90.23   3rd Qu.:1467458  
##  Max.   :122.68   Max.   :121.69   Max.   :6169690

##      Index              AAPL.Open        AAPL.High         AAPL.Low     
##  Min.   :2012-07-02   Min.   : 13.86   Min.   : 14.27   Min.   : 13.75  
##  1st Qu.:2014-10-09   1st Qu.: 24.20   1st Qu.: 24.42   1st Qu.: 23.95  
##  Median :2017-01-17   Median : 32.57   Median : 32.85   Median : 32.34  
##  Mean   :2017-01-15   Mean   : 45.73   Mean   : 46.21   Mean   : 45.25  
##  3rd Qu.:2019-04-25   3rd Qu.: 51.47   3rd Qu.: 51.94   3rd Qu.: 50.97  
##  Max.   :2021-07-30   Max.   :149.24   Max.   :150.00   Max.   :147.70  
##    AAPL.Close     AAPL.Adjusted     AAPL.Volume       
##  Min.   : 13.95   Min.   : 12.17   Min.   :4.545e+07  
##  1st Qu.: 24.19   1st Qu.: 22.23   1st Qu.:1.043e+08  
##  Median : 32.57   Median : 29.82   Median :1.500e+08  
##  Mean   : 45.75   Mean   : 44.10   Mean   :2.031e+08  
##  3rd Qu.: 51.62   3rd Qu.: 50.34   3rd Qu.:2.481e+08  
##  Max.   :149.15   Max.   :149.15   Max.   :1.461e+09

##      Index              AMZN.Open        AMZN.High         AMZN.Low     
##  Min.   :2012-07-02   Min.   : 215.6   Min.   : 217.3   Min.   : 212.6  
##  1st Qu.:2014-10-09   1st Qu.: 359.1   1st Qu.: 362.9   1st Qu.: 356.1  
##  Median :2017-01-17   Median : 829.0   Median : 833.5   Median : 822.2  
##  Mean   :2017-01-15   Mean   :1203.4   Mean   :1215.8   Mean   :1189.4  
##  3rd Qu.:2019-04-25   3rd Qu.:1796.0   3rd Qu.:1809.0   3rd Qu.:1777.4  
##  Max.   :2021-07-30   Max.   :3744.0   Max.   :3773.1   Max.   :3696.8  
##    AMZN.Close     AMZN.Adjusted     AMZN.Volume      
##  Min.   : 215.4   Min.   : 215.4   Min.   :  881300  
##  1st Qu.: 359.8   1st Qu.: 359.8   1st Qu.: 2676600  
##  Median : 829.0   Median : 829.0   Median : 3463000  
##  Mean   :1203.0   Mean   :1203.0   Mean   : 4039804  
##  3rd Qu.:1794.2   3rd Qu.:1794.2   3rd Qu.: 4705200  
##  Max.   :3731.4   Max.   :3731.4   Max.   :23856100

Plot candlestick charts for each stocks using weekly data

##            wk.JPM.Open wk.JPM.High wk.JPM.Low wk.JPM.Close wk.JPM.Volume
## 2012-07-06       36.27       36.36      33.73        33.90     151557800
## 2012-07-13       33.81       36.20      33.54        36.07     221167300
## 2012-07-20       35.76       35.85      33.90        33.90     195997400
## 2021-07-30      150.19      153.87     149.80       151.78      47512100
##            wk.JPM.Adjusted
## 2012-07-06        32057200
## 2012-07-13        83001000
## 2012-07-20        36301200
## 2021-07-30         9804600
##            OHLC.Open OHLC.High OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13     33.81     36.20    33.54      36.07   221167300
## 2012-07-20     35.76     35.85    33.90      33.90   195997400
## 2012-07-27     33.24     37.20    33.10      36.89   195833100
## 2021-07-30    150.19    153.87   149.80     151.78    47512100

##            wk.GS.Open wk.GS.High wk.GS.Low wk.GS.Close wk.GS.Volume
## 2012-07-06      96.56      98.77     94.50       95.47     12816700
## 2012-07-13      94.84      97.86     93.15       97.43     20085700
## 2012-07-20      97.73     100.49     94.10       94.16     30156400
## 2021-07-30     373.18     379.95    369.22      374.88      7791300
##            wk.GS.Adjusted
## 2012-07-06        3312800
## 2012-07-13        4592400
## 2012-07-20        5543900
## 2021-07-30        1474900
##            OHLC.Open OHLC.High OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13     94.84     97.86    93.15      97.43    20085700
## 2012-07-20     97.73    100.49    94.10      94.16    30156400
## 2012-07-27     91.94    102.05    91.15     101.64    26116400
## 2021-07-30    373.18    379.95   369.22     374.88     7791300

##            wk.AES.Open wk.AES.High wk.AES.Low wk.AES.Close wk.AES.Volume
## 2012-07-06       12.94       12.94      12.64        12.84      16029300
## 2012-07-13       12.84       12.85      12.54        12.72      19780400
## 2012-07-20       12.69       12.90      12.56        12.77      25941900
## 2021-07-30       23.91       24.49      23.65        23.70      21913900
##            wk.AES.Adjusted
## 2012-07-06         4471200
## 2012-07-13         2963500
## 2012-07-20         4019700
## 2021-07-30         5208900
##            OHLC.Open OHLC.High OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13     12.84     12.85    12.54      12.72    19780400
## 2012-07-20     12.69     12.90    12.56      12.77    25941900
## 2012-07-27     12.64     12.71    11.65      11.98    42110700
## 2021-07-30     23.91     24.49    23.65      23.70    21913900

##            wk.DTE.Open wk.DTE.High wk.DTE.Low wk.DTE.Close wk.DTE.Volume
## 2012-07-06    50.02553    51.03830   50.02553     50.41702       3492101
## 2012-07-13    50.36595    51.22553   49.87234     51.05532       3609249
## 2012-07-20    51.05532    52.12766   50.92766     51.94043       4167726
## 2021-07-30   116.10000   119.27000  114.75000    117.32000       5555000
##            wk.DTE.Adjusted
## 2012-07-06          636850
## 2012-07-13          845648
## 2012-07-20          826613
## 2021-07-30          643000
##            OHLC.Open OHLC.High  OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13  50.36595  51.22553  49.87234   51.05532     3609249
## 2012-07-20  51.05532  52.12766  50.92766   51.94043     4167726
## 2012-07-27  51.10638  52.83404  50.27234   52.04255     5356004
## 2021-07-30 116.10000 119.27000 114.75000  117.32000     5555000

##            wk.AMZN.Open wk.AMZN.High wk.AMZN.Low wk.AMZN.Close wk.AMZN.Volume
## 2012-07-06       229.30       230.50      224.18        225.05        9547900
## 2012-07-13       225.00       227.14      212.61        218.39       12476900
## 2012-07-20       216.60       229.39      213.96        228.29       15703600
## 2021-07-30      3673.17      3712.08     3306.98       3327.59       25508500
##            wk.AMZN.Adjusted
## 2012-07-06          3203200
## 2012-07-13          2221900
## 2012-07-20          4170000
## 2021-07-30          9957100
##            OHLC.Open OHLC.High OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13    225.00    227.14   212.61     218.39    12476900
## 2012-07-20    216.60    229.39   213.96     228.29    15703600
## 2012-07-27    224.72    238.34   214.95     237.32    32421800
## 2021-07-30   3673.17   3712.08  3306.98    3327.59    25508500

##            wk.AAPL.Open wk.AAPL.High wk.AAPL.Low wk.AAPL.Close wk.AAPL.Volume
## 2012-07-06     20.88321     21.94071    20.84286      21.63857     1545118400
## 2012-07-13     21.61786     22.13821    21.16714      21.60607     2100154000
## 2012-07-20     21.61143     21.97679    21.54107      21.58214     1681918000
## 2021-07-30    148.27000    149.83000   142.53999     145.86000      423265400
##            wk.AAPL.Adjusted
## 2012-07-06        418930400
## 2012-07-13        311427200
## 2012-07-20        397471200
## 2021-07-30         70382000
##            OHLC.Open OHLC.High  OHLC.Low OHLC.Close OHLC.Volume
## 2012-07-13  21.61786  22.13821  21.16714   21.60607  2100154000
## 2012-07-20  21.61143  21.97679  21.54107   21.58214  1681918000
## 2012-07-27  21.22857  21.77429  20.35714   20.89857  2740990000
## 2021-07-30 148.27000 149.83000 142.53999  145.86000   423265400

Checking the gains during the pandemic from July 2019 to July 2021 for each sector

Value of $1 Investment in Financial, Utility and Tech sector

##            JPM.Close GS.Close AES.Close DTE.Close AAPL.Close AMZN.Close
## 2019-07-01    113.68   206.86     16.77  109.1745    50.3875    1922.19
## 2019-07-02    113.80   205.98     16.95  110.5021    50.6825    1934.31
## 2019-07-03    112.82   206.04     17.28  111.5660    51.1025    1939.00
## 2021-07-30    151.78   374.88     23.70  117.3200   145.8600    3327.59
## [1] 7
##           date    JPM     GS   AES      DTE     AAPL    AMZN
## 1   2019-07-01 113.68 206.86 16.77 109.1745  50.3875 1922.19
## 2   2019-07-02 113.80 205.98 16.95 110.5021  50.6825 1934.31
## 3   2019-07-03 112.82 206.04 17.28 111.5660  51.1025 1939.00
## 526 2021-07-30 151.78 374.88 23.70 117.3200 145.8600 3327.59
## [1] 1.0000000 0.9976290 0.9947588 1.0026517 0.9940101 1.0018094
## [1] 1.000000 1.011971 1.023038 1.020281 1.021600 1.022170
## [1] 1.000000 1.006294 1.008884 1.010844 1.015081 1.033475

Calculating moving average for each sector

##            JPM.Close  sma50 sma200
## 2019-07-01    320.54 307.91 306.81
## 2019-07-02    319.78 307.94 306.70
## 2019-07-03    318.86 307.96 306.58
## 2021-07-30    526.66 528.20 449.39

##            AES.Close  sma50 sma200
## 2019-07-01    125.94 124.67 117.63
## 2019-07-02    127.45 124.77 117.71
## 2019-07-03    128.85 124.90 117.81
## 2021-07-30    141.02 140.84 135.05

##            AMZN.Close  sma50 sma200
## 2019-07-01     1972.6 1919.1 1792.4
## 2019-07-02     1985.0 1920.1 1792.1
## 2019-07-03     1990.1 1920.4 1792.0
## 2021-07-30     3473.5 3589.8 3397.4

Bollinger BandsPlot for Pandemic Period

##            JPM.Close GS.Close DTE.Close AES.Close AAPL.Close AMZN.Close    all
## 2019-07-01    113.68   206.86    109.17     16.77     50.388     1922.2 2419.1
## 2019-07-02    113.80   205.98    110.50     16.95     50.682     1934.3 2432.2
## 2019-07-03    112.82   206.04    111.57     17.28     51.103     1939.0 2437.8
## 2021-07-30    151.78   374.88    117.32     23.70    145.860     3327.6 4141.1
##            JPM.Close GS.Close DTE.Close AES.Close AAPL.Close AMZN.Close    all
## 2019-07-01    113.68   206.86    109.17     16.77     50.388     1922.2 2419.1
## 2019-07-02    113.80   205.98    110.50     16.95     50.682     1934.3 2432.2
## 2019-07-03    112.82   206.04    111.57     17.28     51.103     1939.0 2437.8
## 2021-07-30    151.78   374.88    117.32     23.70    145.860     3327.6 4141.1
##               avg     sd
## 2019-07-01     NA     NA
## 2019-07-02     NA     NA
## 2019-07-03     NA     NA
## 2021-07-30 4435.2 94.948
##            JPM.Close GS.Close DTE.Close AES.Close AAPL.Close AMZN.Close    all
## 2019-07-01    113.68   206.86    109.17     16.77     50.388     1922.2 2419.1
## 2019-07-02    113.80   205.98    110.50     16.95     50.682     1934.3 2432.2
## 2019-07-03    112.82   206.04    111.57     17.28     51.103     1939.0 2437.8
## 2021-07-30    151.78   374.88    117.32     23.70    145.860     3327.6 4141.1
##               avg     sd  sd2up sd2down
## 2019-07-01     NA     NA     NA      NA
## 2019-07-02     NA     NA     NA      NA
## 2019-07-03     NA     NA     NA      NA
## 2021-07-30 4435.2 94.948 4625.1  4245.3

Total Portfolio return during the pandemic

##            JPM.Close GS.Close AES.Close DTE.Close AAPL.Close AMZN.Close
## 2019-07-01    113.68   206.86     16.77    109.17     50.388     1922.2
## 2019-07-02    113.80   205.98     16.95    110.50     50.682     1934.3
## 2019-07-03    112.82   206.04     17.28    111.57     51.103     1939.0
## 2019-07-05    113.49   207.90     17.12    111.38     51.057     1942.9
## 2021-07-30    151.78   374.88     23.70    117.32    145.860     3327.6
##            JPM.Price.Ret GS.Price.Ret DTE.Price.Ret AES.Price.Ret
## 2019-07-01            NA           NA            NA            NA
## 2019-07-02     0.0010556  -0.00425411     0.0121609     0.0107335
## 2019-07-03    -0.0086116   0.00029128     0.0096272     0.0194690
## 2019-07-05     0.0059386   0.00902738    -0.0016782    -0.0092593
## 2021-07-30    -0.0079739  -0.00707187    -0.0068568    -0.0234857
##            AAPL.Price.Ret AMZN.Price.Ret
## 2019-07-01             NA             NA
## 2019-07-02     0.00585459      0.0063054
## 2019-07-03     0.00828692      0.0024246
## 2019-07-05    -0.00088062      0.0020165
## 2021-07-30     0.00151059     -0.0756489
## [1] 0.71187

Gross Portfolio returns during the Pandemic(Logarithmic)

##            JPM.Close JPM.Adjusted GS.Close GS.Adjusted AES.Close AES.Adjusted
## 2019-07-01    113.68       106.05   206.86      198.16     16.77       15.667
## 2019-07-02    113.80       106.16   205.98      197.32     16.95       15.835
## 2019-07-03    112.82       105.99   206.04      197.37     17.28       16.143
## 2019-07-05    113.49       106.62   207.90      199.16     17.12       15.994
## 2019-07-08    112.87       106.04   205.75      197.10     17.15       16.022
##            DTE.Close DTE.Adjusted AMZN.Close AMZN.Adjusted AAPL.Close
## 2019-07-01    109.17       101.73     1922.2        1922.2     50.388
## 2019-07-02    110.50       102.97     1934.3        1934.3     50.682
## 2019-07-03    111.57       103.96     1939.0        1939.0     51.103
## 2019-07-05    111.38       103.78     1942.9        1942.9     51.057
## 2019-07-08    111.51       103.91     1952.3        1952.3     50.005
##            AAPL.Adjusted    JPM.Ret    AES.Ret    DTE.Ret      GS.Ret
## 2019-07-01        49.460         NA         NA         NA          NA
## 2019-07-02        49.750  0.0010556  0.0107334  0.0121610 -0.00425424
## 2019-07-03        50.162 -0.0015930  0.0194689  0.0096271  0.00029131
## 2019-07-05        50.118  0.0059389 -0.0092592 -0.0016782  0.00902737
## 2019-07-08        49.085 -0.0054631  0.0017523  0.0012227 -0.01034151
##               AAPL.Ret  AMZN.Ret Port.Tot.Ret Port.Log.Tot.Ret
## 2019-07-01          NA        NA           NA               NA
## 2019-07-02  0.00585471 0.0063054    0.0054670        0.0054521
## 2019-07-03  0.00828697 0.0024246    0.0026140        0.0026106
## 2019-07-05 -0.00088071 0.0020165    0.0024675        0.0024645
## 2019-07-08 -0.02061402 0.0048432    0.0024352        0.0024322

Plot a comparison of Total Price returns and Total Gross returns

Creating a equally weighted portfolio by dividing the data into 4 halves (July 2019 - December 2019 January 2020 - June 2020 July 2020 - December 2020 January 2021 - June 2021)

##            JPM.Adjusted GS.Adjusted AES.Adjusted DTE.Adjusted AMZN.Adjusted
## 2019-07-02       106.16      197.32       15.835       102.97        1934.3
## 2019-07-03       105.99      197.37       16.143       103.96        1939.0
## 2019-07-05       106.62      199.16       15.994       103.78        1942.9
## 2019-07-08       106.04      197.10       16.022       103.91        1952.3
## 2019-12-31       132.01      222.89       18.891       104.60        1847.8
##            AAPL.Adjusted    JPM.Ret      GS.Ret    AES.Ret    DTE.Ret
## 2019-07-02        49.750  0.0010556 -0.00425424  0.0107334  0.0121610
## 2019-07-03        50.162 -0.0015930  0.00029131  0.0194689  0.0096271
## 2019-07-05        50.118  0.0059389  0.00902737 -0.0092592 -0.0016782
## 2019-07-08        49.085 -0.0054631 -0.01034151  0.0017523  0.0012227
## 2019-12-31        72.552  0.0055541  0.00056565 -0.0069861  0.0065882
##               AAPL.Ret   AMZN.Ret
## 2019-07-02  0.00585471 0.00630537
## 2019-07-03  0.00828697 0.00242461
## 2019-07-05 -0.00088071 0.00201652
## 2019-07-08 -0.02061402 0.00484321
## 2019-12-31  0.00730656 0.00051435
##            JPM.Adjusted GS.Adjusted AES.Adjusted DTE.Adjusted AMZN.Adjusted
## 2020-01-02      133.611      227.15       19.015      103.655        1898.0
## 2020-01-03      131.848      224.49       18.796      103.905        1875.0
## 2020-01-06      131.743      226.79       19.015      103.881        1902.9
## 2020-01-07      129.503      228.28       19.081      103.534        1906.9
## 2020-06-30       90.577      193.95       13.993       88.406        2758.8
##            AAPL.Adjusted     JPM.Ret     GS.Ret    AES.Ret     DTE.Ret
## 2020-01-02        74.207  0.01212353  0.0190929  0.0065327 -0.00900897
## 2020-01-03        73.486 -0.01319651 -0.0116935 -0.0114828  0.00240868
## 2020-01-06        74.072 -0.00079507  0.0102341  0.0116162 -0.00023262
## 2020-01-07        73.723 -0.01700065  0.0065825  0.0034947 -0.00333377
## 2020-06-30        90.590  0.01139767  0.0214502  0.0104602  0.00882133
##              AAPL.Ret   AMZN.Ret
## 2020-01-02  0.0228163  0.0271506
## 2020-01-03 -0.0097220 -0.0121391
## 2020-01-06  0.0079683  0.0148856
## 2020-01-07 -0.0047031  0.0020916
## 2020-06-30  0.0083476  0.0292646
##            JPM.Adjusted GS.Adjusted AES.Adjusted DTE.Adjusted AMZN.Adjusted
## 2020-07-01       89.807      193.90       13.915       90.462        2878.7
## 2020-07-02       90.099      193.73       13.983       90.437        2890.3
## 2020-07-06       92.374      203.51       13.973       89.171        3057.0
## 2020-07-07       89.768      195.65       13.655       88.069        3000.1
## 2020-12-31      124.704      261.79       23.075      101.611        3256.9
##            AAPL.Adjusted    JPM.Ret      GS.Ret     AES.Ret     DTE.Ret
## 2020-07-01        90.418 -0.0085052 -0.00025286 -0.00552099  0.02325569
## 2020-07-02        90.418  0.0032482 -0.00086053  0.00485773 -0.00027258
## 2020-07-06        92.837  0.0252537  0.05045594 -0.00069056 -0.01400385
## 2020-07-07        92.549 -0.0282105 -0.03858024 -0.02280587 -0.01235825
## 2020-12-31       132.267  0.0136408  0.01641929  0.03160671  0.01462484
##              AAPL.Ret   AMZN.Ret
## 2020-07-01 -0.0018915  0.0434533
## 2020-07-02  0.0000000  0.0040296
## 2020-07-06  0.0267502  0.0576895
## 2020-07-07 -0.0031030 -0.0186193
## 2020-12-31 -0.0077027 -0.0088014
##            JPM.Adjusted GS.Adjusted AES.Adjusted DTE.Adjusted AMZN.Adjusted
## 2021-01-04       123.53      263.07       22.820       99.920        3186.6
## 2021-01-05       124.20      268.96       23.586      100.079        3218.5
## 2021-01-06       130.03      283.48       24.528      101.870        3138.4
## 2021-01-07       134.30      289.53       24.283       99.393        3162.2
## 2021-06-30       154.65      379.53       25.908      110.298        3440.2
##            AAPL.Adjusted    JPM.Ret    GS.Ret   AES.Ret     DTE.Ret   AAPL.Ret
## 2021-01-04        129.00 -0.0094437 0.0048918 -0.011064 -0.01663780 -0.0247192
## 2021-01-05        130.59  0.0054413 0.0223773  0.033563  0.00159138  0.0123637
## 2021-01-06        126.20  0.0469558 0.0539622  0.039967  0.01789596 -0.0336615
## 2021-01-07        130.50  0.0328392 0.0213623 -0.010008 -0.02431804  0.0341233
## 2021-06-30        136.96  0.0090826 0.0185444 -0.011377  0.00084951  0.0046212
##              AMZN.Ret
## 2021-01-04 -0.0215848
## 2021-01-05  0.0100043
## 2021-01-06 -0.0248967
## 2021-01-07  0.0075772
## 2021-06-30 -0.0023143
##            JPM.Adjusted GS.Adjusted AES.Adjusted DTE.Adjusted AMZN.Adjusted
## 2019-07-02       106.16      197.32       15.835       102.97        1934.3
## 2019-07-03       105.99      197.37       16.143       103.96        1939.0
## 2019-07-05       106.62      199.16       15.994       103.78        1942.9
## 2019-07-08       106.04      197.10       16.022       103.91        1952.3
## 2019-07-09       106.49      199.03       15.938       104.06        1988.3
## 2019-07-10       106.18      197.31       15.872       104.33        2017.4
##            AAPL.Adjusted    JPM.Ret      GS.Ret    AES.Ret    DTE.Ret
## 2019-07-02        49.750  0.0010556 -0.00425424  0.0107334  0.0121610
## 2019-07-03        50.162 -0.0015930  0.00029131  0.0194689  0.0096271
## 2019-07-05        50.118  0.0059389  0.00902737 -0.0092592 -0.0016782
## 2019-07-08        49.085 -0.0054631 -0.01034151  0.0017523  0.0012227
## 2019-07-09        49.384  0.0042526  0.00981784 -0.0052478  0.0014501
## 2019-07-10        49.872 -0.0029114 -0.00866348 -0.0041033  0.0025911
##               AAPL.Ret  AMZN.Ret     JPM      GS    DTE    AES    AAPL   AMZN
## 2019-07-02  0.00585471 0.0063054 1.00106 0.99575 1.0122 1.0107 1.00585 1.0063
## 2019-07-03  0.00828697 0.0024246 0.99946 0.99604 1.0219 1.0304 1.01419 1.0087
## 2019-07-05 -0.00088071 0.0020165 1.00540 1.00503 1.0202 1.0209 1.01330 1.0108
## 2019-07-08 -0.02061402 0.0048432 0.99990 0.99463 1.0214 1.0227 0.99241 1.0157
## 2019-07-09  0.00609952 0.0184294 1.00416 1.00440 1.0229 1.0173 0.99846 1.0344
## 2019-07-10  0.00988855 0.0146406 1.00123 0.99570 1.0256 1.0131 1.00834 1.0495
##            EWPort       EWRet portvalue
## 2019-07-02 1.0053  0.00530930    1.0053
## 2019-07-03 1.0118  0.00644791    1.0118
## 2019-07-05 1.0126  0.00079274    1.0126
## 2019-07-08 1.0078 -0.00474731    1.0078
## 2019-07-09 1.0136  0.00577229    1.0136
## 2019-07-10 1.0156  0.00195157    1.0156

Value Weighted Portfolio

##           date JPM.Close JPM.Adjusted GS.Close GS.Adjusted AES.Close
## 1   2019-07-02    113.80       106.16   205.98      197.32     16.95
## 2   2019-07-03    112.82       105.99   206.04      197.37     17.28
## 3   2019-07-05    113.49       106.62   207.90      199.16     17.12
## 525 2021-07-30    151.78       151.78   374.88      374.88     23.70
##     AES.Adjusted DTE.Close DTE.Adjusted AMZN.Close AMZN.Adjusted AAPL.Close
## 1         15.835    110.50       102.97     1934.3        1934.3     50.682
## 2         16.143    111.57       103.96     1939.0        1939.0     51.103
## 3         15.994    111.38       103.78     1942.9        1942.9     51.057
## 525       23.700    117.32       117.32     3327.6        3327.6    145.860
##     AAPL.Adjusted JPM.Ret AES.Ret DTE.Ret  GS.Ret AAPL.Ret AMZN.Ret
## 1          49.750 1.00106 1.01073 1.01216 0.99575  1.00585  1.00631
## 2          50.162 0.99841 1.01947 1.00963 1.00029  1.00829  1.00242
## 3          50.118 1.00594 0.99074 0.99832 1.00903  0.99912  1.00202
## 525       145.860 0.99203 0.98263 0.99314 0.99293  1.00151  0.92435
##     Port.Tot.Ret Port.Log.Tot.Ret TotalV
## 1      0.0054670        0.0054521 1.0055
## 2      0.0026140        0.0026106 1.0081
## 3      0.0024675        0.0024645 1.0106
## 525   -0.0627447       -0.0647996 1.7303
## [1] "2019-07-01" "2019-07-02" "2019-07-03" "2021-07-01"
##           date JPM.Close JPM.Adjusted GS.Close GS.Adjusted AES.Close
## 1   2019-07-02    113.80       106.16   205.98      197.32     16.95
## 2   2019-07-03    112.82       105.99   206.04      197.37     17.28
## 3   2019-07-05    113.49       106.62   207.90      199.16     17.12
## 525 2021-07-30    151.78       151.78   374.88      374.88     23.70
##     AES.Adjusted DTE.Close DTE.Adjusted AMZN.Close AMZN.Adjusted AAPL.Close
## 1         15.835    110.50       102.97     1934.3        1934.3     50.682
## 2         16.143    111.57       103.96     1939.0        1939.0     51.103
## 3         15.994    111.38       103.78     1942.9        1942.9     51.057
## 525       23.700    117.32       117.32     3327.6        3327.6    145.860
##     AAPL.Adjusted JPM.Ret AES.Ret DTE.Ret  GS.Ret AAPL.Ret AMZN.Ret
## 1          49.750 1.00106 1.01073 1.01216 0.99575  1.00585  1.00631
## 2          50.162 0.99841 1.01947 1.00963 1.00029  1.00829  1.00242
## 3          50.118 1.00594 0.99074 0.99832 1.00903  0.99912  1.00202
## 525       145.860 0.99203 0.98263 0.99314 0.99293  1.00151  0.92435
##     Port.Tot.Ret Port.Log.Tot.Ret TotalV
## 1      0.0054670        0.0054521 1.0055
## 2      0.0026140        0.0026106 1.0081
## 3      0.0024675        0.0024645 1.0106
## 525   -0.0627447       -0.0647996 1.7303
##           date JPM.Close JPM.Adjusted GS.Close GS.Adjusted AES.Close
## 127 2019-12-31    139.40      132.011   229.93      222.89     19.90
## 252 2020-06-30     94.06       90.577   197.62      193.95     14.49
## 380 2020-12-31    127.07      124.704   263.71      261.79     23.50
## 504 2021-06-30    155.54      154.649   379.53      379.53     26.07
##     AES.Adjusted DTE.Close DTE.Adjusted AMZN.Close AMZN.Adjusted AAPL.Close
## 127       18.891   110.528      104.597     1847.8        1847.8     73.412
## 252       13.993    91.489       88.406     2758.8        2758.8     91.200
## 380       23.075   103.328      101.611     3256.9        3256.9    132.690
## 504       25.908   110.298      110.298     3440.2        3440.2    136.960
##     AAPL.Adjusted JPM.Ret AES.Ret DTE.Ret GS.Ret AAPL.Ret AMZN.Ret Port.Tot.Ret
## 127        72.552  1.0056 0.99301  1.0066 1.0006   1.0073  1.00051   0.00120333
## 252        90.590  1.0114 1.01046  1.0088 1.0215   1.0083  1.02926   0.02703842
## 380       132.267  1.0136 1.03161  1.0146 1.0164   0.9923  0.99120  -0.00557539
## 504       136.960  1.0091 0.98862  1.0008 1.0185   1.0046  0.99769   0.00017601
##     Port.Log.Tot.Ret TotalV
## 127        0.0012026 1.0023
## 252        0.0266793 1.3523
## 380       -0.0055910 1.6297
## 504        0.0001760 1.7748
## 'data.frame':    4 obs. of  28 variables:
##  $ date            : Date, format: "2019-12-31" "2020-06-30" ...
##  $ JPM.Close       : num  139.4 94.1 127.1 155.5
##  $ JPM.Adjusted    : num  132 90.6 124.7 154.6
##  $ GS.Close        : num  230 198 264 380
##  $ GS.Adjusted     : num  223 194 262 380
##  $ AES.Close       : num  19.9 14.5 23.5 26.1
##  $ AES.Adjusted    : num  18.9 14 23.1 25.9
##  $ DTE.Close       : num  110.5 91.5 103.3 110.3
##  $ DTE.Adjusted    : num  104.6 88.4 101.6 110.3
##  $ AMZN.Close      : num  1848 2759 3257 3440
##  $ AMZN.Adjusted   : num  1848 2759 3257 3440
##  $ AAPL.Close      : num  73.4 91.2 132.7 137
##  $ AAPL.Adjusted   : num  72.6 90.6 132.3 137
##  $ JPM.Ret         : num  1.01 1.01 1.01 1.01
##  $ AES.Ret         : num  0.993 1.01 1.032 0.989
##  $ DTE.Ret         : num  1.01 1.01 1.01 1
##  $ GS.Ret          : num  1 1.02 1.02 1.02
##  $ AAPL.Ret        : num  1.007 1.008 0.992 1.005
##  $ AMZN.Ret        : num  1.001 1.029 0.991 0.998
##  $ Port.Tot.Ret    : num  0.001203 0.027038 -0.005575 0.000176
##  $ Port.Log.Tot.Ret: num  0.001203 0.026679 -0.005591 0.000176
##  $ TotalV          : num  1 1.35 1.63 1.77
##  $ JPM.shout       : num  2.99e+09 3.05e+09 3.05e+09 3.08e+09
##  $ GS.shout        : num  3.37e+08 3.44e+08 3.44e+08 3.47e+08
##  $ DTE.shout       : num  1.94e+08 1.94e+08 1.93e+08 1.92e+08
##  $ AES.shout       : num  6.66e+08 6.65e+08 6.65e+08 6.64e+08
##  $ AMZN.shout      : num  5.06e+08 5.03e+08 5.01e+08 4.98e+08
##  $ AAPL.shout      : num  1.66e+10 1.68e+10 1.71e+10 1.75e+10
##           date JPM.Close JPM.Adjusted GS.Close GS.Adjusted AES.Close
## 127 2019-12-31    139.40      132.011   229.93      222.89     19.90
## 252 2020-06-30     94.06       90.577   197.62      193.95     14.49
## 380 2020-12-31    127.07      124.704   263.71      261.79     23.50
## 504 2021-06-30    155.54      154.649   379.53      379.53     26.07
##     AES.Adjusted DTE.Close DTE.Adjusted AMZN.Close AMZN.Adjusted AAPL.Close
## 127       18.891   110.528      104.597     1847.8        1847.8     73.412
## 252       13.993    91.489       88.406     2758.8        2758.8     91.200
## 380       23.075   103.328      101.611     3256.9        3256.9    132.690
## 504       25.908   110.298      110.298     3440.2        3440.2    136.960
##     AAPL.Adjusted JPM.Ret AES.Ret DTE.Ret GS.Ret AAPL.Ret AMZN.Ret Port.Tot.Ret
## 127        72.552  1.0056 0.99301  1.0066 1.0006   1.0073  1.00051   0.00120333
## 252        90.590  1.0114 1.01046  1.0088 1.0215   1.0083  1.02926   0.02703842
## 380       132.267  1.0136 1.03161  1.0146 1.0164   0.9923  0.99120  -0.00557539
## 504       136.960  1.0091 0.98862  1.0008 1.0185   1.0046  0.99769   0.00017601
##     Port.Log.Tot.Ret TotalV JPM.shout  GS.shout DTE.shout AES.shout AMZN.shout
## 127        0.0012026 1.0023 2.988e+09 337280000 193750000 666330000   5.06e+08
## 252        0.0266793 1.3523 3.049e+09 344090000 193770000 665370000   5.03e+08
## 380       -0.0055910 1.6297 3.048e+09 343940000 192650000 664940000   5.01e+08
## 504        0.0001760 1.7748 3.084e+09 347340000 192210000 664040000   4.98e+08
##     AAPL.shout   JPM.mcap   DTE.mcap   AES.mcap  AMZN.mcap    GS.mcap
## 127  1.656e+10 4.1653e+11 2.1415e+10 1.3260e+10 9.3501e+11 7.7551e+10
## 252  1.682e+10 2.8679e+11 1.7728e+10 9.6412e+09 1.3877e+12 6.7999e+10
## 380  1.714e+10 3.8731e+11 1.9906e+10 1.5626e+10 1.6317e+12 9.0700e+10
## 504  1.754e+10 4.7969e+11 2.1200e+10 1.7312e+10 1.7132e+12 1.3183e+11
##      AAPL.mcap tot.mcap   JPM.wgt   GS.wgt  AMZN.wgt  AAPL.wgt
## 127 1.2157e+12   3841.6 108424186 20186872 243387179 316455872
## 252 1.5340e+12   5699.4  50318882 11930854 243478130 269146918
## 380 2.2743e+12   6778.8  57135242 13379976 240708938 335501985
## 504 2.4023e+12   7154.2  67049099 18426269 239466341 335783896
##           date AES.Ret DTE.Ret GS.Ret AAPL.Ret
## 184 2019-12-31 0.99301  1.0066 1.0006   1.0073
## 185 2020-01-01 0.99301  1.0066 1.0006   1.0073
## 186 2020-01-02 0.99301  1.0066 1.0006   1.0073
## 732 2021-07-01 0.98862  1.0008 1.0185   1.0046

Constructing a variance - covariance matrix

##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02         0.0058547
## 2019-07-03         0.0082870
## 2021-07-30         0.0015106
##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02         0.0063054
## 2019-07-03         0.0024246
## 2021-07-30        -0.0756489
##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02         0.0121610
## 2019-07-03         0.0096271
## 2021-07-30        -0.0068568
##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02          0.010733
## 2019-07-03          0.019469
## 2021-07-30         -0.017372
##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02         0.0010556
## 2019-07-03        -0.0015930
## 2021-07-30        -0.0079739
##            Delt.1.arithmetic
## 2019-07-01                NA
## 2019-07-02       -0.00425424
## 2019-07-03        0.00029131
## 2021-07-30       -0.00707187
##               AAPL.Ret  AMZN.Ret    JPM.Ret      GS.Ret    AES.Ret    DTE.Ret
## 2019-07-02  0.00585471 0.0063054  0.0010556 -0.00425424  0.0107334  0.0121610
## 2019-07-03  0.00828697 0.0024246 -0.0015930  0.00029131  0.0194689  0.0096271
## 2019-07-05 -0.00088071 0.0020165  0.0059389  0.00902737 -0.0092592 -0.0016782
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]  0.2 0.15 0.05 0.15 0.25  0.2
##      [,1]
## [1,] 0.20
## [2,] 0.15
## [3,] 0.05
## [4,] 0.15
## [5,] 0.25
## [6,] 0.20
##               AAPL.Ret  AMZN.Ret    JPM.Ret      GS.Ret    AES.Ret    DTE.Ret
## 2019-07-02  0.00585471 0.0063054  0.0010556 -0.00425424  0.0107334  0.0121610
## 2019-07-03  0.00828697 0.0024246 -0.0015930  0.00029131  0.0194689  0.0096271
## 2019-07-05 -0.00088071 0.0020165  0.0059389  0.00902737 -0.0092592 -0.0016782
## 2019-07-08 -0.02061402 0.0048432 -0.0054631 -0.01034151  0.0017523  0.0012227
## 2019-07-09  0.00609952 0.0184294  0.0042526  0.00981784 -0.0052478  0.0014501
## 2019-07-10  0.00988855 0.0146406 -0.0029114 -0.00866348 -0.0041033  0.0025911
##            AAPL.Ret   AMZN.Ret    JPM.Ret     GS.Ret    AES.Ret    DTE.Ret
## AAPL.Ret 0.00054407 0.00030735 0.00028334 0.00032021 0.00027041 0.00024709
## AMZN.Ret 0.00030735 0.00038820 0.00011764 0.00015787 0.00012968 0.00011096
## JPM.Ret  0.00028334 0.00011764 0.00065231 0.00056782 0.00046839 0.00039458
## GS.Ret   0.00032021 0.00015787 0.00056782 0.00064013 0.00044095 0.00036851
## AES.Ret  0.00027041 0.00012968 0.00046839 0.00044095 0.00080544 0.00045105
## DTE.Ret  0.00024709 0.00011096 0.00039458 0.00036851 0.00045105 0.00048587
##          AAPL.Ret AMZN.Ret  JPM.Ret   GS.Ret  AES.Ret  DTE.Ret
## AAPL.Ret  0.27421 0.154906 0.142804 0.161384 0.136284 0.124534
## AMZN.Ret  0.15491 0.195655 0.059289 0.079566 0.065359 0.055926
## JPM.Ret   0.14280 0.059289 0.328763 0.286180 0.236068 0.198869
## GS.Ret    0.16138 0.079566 0.286180 0.322623 0.222239 0.185727
## AES.Ret   0.13628 0.065359 0.236068 0.222239 0.405941 0.227327
## DTE.Ret   0.12453 0.055926 0.198869 0.185727 0.227327 0.244880

Equally Weighted portfolio

Distribution Fitting

Obtaining the density functions and plot for EW Portfolio

QQ Plot for Portfolio

Best fit Model #Using the function “lik.ratio.test” to perform a likelihood-ratio test on fitted generalized hyperbolic distribution objects of class mle.ghyp. The likelihood-ratio test can be used to check whether a special case of the generalized hyperbolic distribution is the “true” underlying distribution. #statistic: the value of the L-statistic. #p.value: the p-value for the test (the p-value is less than 0.05, then there is evidence against the null hypothesis) #df: the degrees of freedom for the L-statistic #H0: a boolean stating whether the null hypothesis is TRUE or FALSE (if TRUE there is no relationship between the data sets)

The VaR based on the normal distribution can be computed by providing the necessary estimates for the location and scale. The VaR values thus determined are compared to their empirical counterparts, which are determined by the quantile() function.

Calculating and plotting the Expected Shortfall (using all models)

Predicting Future Volatility using Garch Model

#Calculating AdjClose for our Portfolio 
EWPort.AdjClose<-(GS.Pandemic$Adj.Close+JPM.Pandemic$Adj.Close+AAPL.Pandemic$Adj.Close+AMZN.Pandemic$Adj.Close+DTE.Pandemic$Adj.Close+AES.Pandemic$Adj.Close)/6
EWPortReturn<-returnseries(EWPort.AdjClose)
date<-JPM$Date
GETS<-timeSeries(EWPortReturn, charvec = date)
GETS$Return <- GETS[-c(1)]

# Auto correlation and Partial Auto Correlation  to calculate Lag period
acf(GETS$Return, na.action = na.pass)

pacf(GETS$Return, na.action = na.pass)

acf(abs(GETS$Return), na.action = na.pass)

pacf(abs(GETS$Return), na.action = na.pass)

mean(GETS$Return, na.rm = TRUE)
## [1] 0.10528
GETSComp <- removeNA(GETS)
garchFi<-garchFit(~garch(1,1), data=GETSComp)
## 
## Series Initialization:
##  ARMA Model:                arma
##  Formula Mean:              ~ arma(0, 0)
##  GARCH Model:               garch
##  Formula Variance:          ~ garch(1, 1)
##  ARMA Order:                0 0
##  Max ARMA Order:            0
##  GARCH Order:               1 1
##  Max GARCH Order:           1
##  Maximum Order:             1
##  Conditional Dist:          norm
##  h.start:                   2
##  llh.start:                 1
##  Length of Series:          525
##  Recursion Init:            mci
##  Series Scale:              1.8176
## 
## Parameter Initialization:
##  Initial Parameters:          $params
##  Limits of Transformations:   $U, $V
##  Which Parameters are Fixed?  $includes
##  Parameter Matrix:
##                      U        V  params includes
##     mu     -0.57460047   0.5746 0.05746     TRUE
##     omega   0.00000100 100.0000 0.10000     TRUE
##     alpha1  0.00000001   1.0000 0.10000     TRUE
##     gamma1 -0.99999999   1.0000 0.10000    FALSE
##     beta1   0.00000001   1.0000 0.80000     TRUE
##     delta   0.00000000   2.0000 2.00000    FALSE
##     skew    0.10000000  10.0000 1.00000    FALSE
##     shape   1.00000000  10.0000 4.00000    FALSE
##  Index List of Parameters to be Optimized:
##     mu  omega alpha1  beta1 
##      1      2      3      5 
##  Persistence:                  0.9 
## 
## 
## --- START OF TRACE ---
## Selected Algorithm: nlminb 
## 
## R coded nlminb Solver: 
## 
##   0:     683.91399: 0.0574600 0.100000 0.100000 0.800000
##   1:     681.00425: 0.0574607 0.0784227 0.100794 0.788099
##   2:     678.64944: 0.0574618 0.0776613 0.123822 0.796874
##   3:     677.78360: 0.0574632 0.0595322 0.128624 0.791244
##   4:     676.56673: 0.0574672 0.0578612 0.145530 0.800982
##   5:     676.41616: 0.0574728 0.0501012 0.148076 0.801251
##   6:     676.39770: 0.0575149 0.0479631 0.153493 0.806938
##   7:     676.35603: 0.0575707 0.0503953 0.155725 0.799526
##   8:     676.35321: 0.0575740 0.0516521 0.154712 0.799273
##   9:     676.35116: 0.0576117 0.0508370 0.153527 0.799687
##  10:     676.34883: 0.0576821 0.0509824 0.152959 0.800597
##  11:     676.34843: 0.0577753 0.0510167 0.152858 0.800436
##  12:     676.34782: 0.0579558 0.0513205 0.153406 0.799787
##  13:     676.34677: 0.0585844 0.0507644 0.151597 0.802032
##  14:     676.34543: 0.0592346 0.0505752 0.151734 0.801648
##  15:     676.34379: 0.0598848 0.0507691 0.152091 0.801423
##  16:     676.34237: 0.0612280 0.0515175 0.152682 0.799837
##  17:     676.34216: 0.0615882 0.0514023 0.153172 0.799678
##  18:     676.34213: 0.0615234 0.0515312 0.153421 0.799403
##  19:     676.34213: 0.0615413 0.0515026 0.153362 0.799470
##  20:     676.34213: 0.0615412 0.0515024 0.153362 0.799470
## 
## Final Estimate of the Negative LLH:
##  LLH:  990.05    norm LLH:  1.8858 
##      mu   omega  alpha1   beta1 
## 0.11186 0.17015 0.15336 0.79947 
## 
## R-optimhess Difference Approximated Hessian Matrix:
##               mu      omega    alpha1     beta1
## mu     -264.5116    -0.5929    20.107   -14.178
## omega    -0.5929 -1701.2250 -2007.091 -3310.513
## alpha1   20.1069 -2007.0913 -4507.020 -5408.811
## beta1   -14.1779 -3310.5127 -5408.811 -7808.418
## attr(,"time")
## Time difference of 0.005156 secs
## 
## --- END OF TRACE ---
## 
## 
## Time to Estimate Parameters:
##  Time difference of 0.029199 secs
## Warning: Using formula(x) is deprecated when x is a character vector of length > 1.
##   Consider formula(paste(x, collapse = " ")) instead.
#Plotting the return volatility in our observation period
a <- coef(garchFi)
b<-formula(garchFi)
c<-volatility(garchFi)
plot(c)

#Predicting volatilty for next 10 days 
predict(garchFi, n.ahead =10)
##    meanForecast meanError standardDeviation
## 1       0.11186    2.8451            2.8451
## 2       0.11186    2.8077            2.8077
## 3       0.11186    2.7715            2.7715
## 4       0.11186    2.7366            2.7366
## 5       0.11186    2.7030            2.7030
## 6       0.11186    2.6705            2.6705
## 7       0.11186    2.6392            2.6392
## 8       0.11186    2.6090            2.6090
## 9       0.11186    2.5799            2.5799
## 10      0.11186    2.5519            2.5519
#Garch with SD
garchfi2<-garchFit(~garch(1,1), data=GETSComp, cond.dist = "std")
## 
## Series Initialization:
##  ARMA Model:                arma
##  Formula Mean:              ~ arma(0, 0)
##  GARCH Model:               garch
##  Formula Variance:          ~ garch(1, 1)
##  ARMA Order:                0 0
##  Max ARMA Order:            0
##  GARCH Order:               1 1
##  Max GARCH Order:           1
##  Maximum Order:             1
##  Conditional Dist:          std
##  h.start:                   2
##  llh.start:                 1
##  Length of Series:          525
##  Recursion Init:            mci
##  Series Scale:              1.8176
## 
## Parameter Initialization:
##  Initial Parameters:          $params
##  Limits of Transformations:   $U, $V
##  Which Parameters are Fixed?  $includes
##  Parameter Matrix:
##                      U        V  params includes
##     mu     -0.57460047   0.5746 0.05746     TRUE
##     omega   0.00000100 100.0000 0.10000     TRUE
##     alpha1  0.00000001   1.0000 0.10000     TRUE
##     gamma1 -0.99999999   1.0000 0.10000    FALSE
##     beta1   0.00000001   1.0000 0.80000     TRUE
##     delta   0.00000000   2.0000 2.00000    FALSE
##     skew    0.10000000  10.0000 1.00000    FALSE
##     shape   1.00000000  10.0000 4.00000     TRUE
##  Index List of Parameters to be Optimized:
##     mu  omega alpha1  beta1  shape 
##      1      2      3      5      8 
##  Persistence:                  0.9 
## 
## 
## --- START OF TRACE ---
## Selected Algorithm: nlminb 
## 
## R coded nlminb Solver: 
## 
##   0:     663.82033: 0.0574600 0.100000 0.100000 0.800000  4.00000
##   1:     657.38631: 0.0574963 0.0478085 0.175549 0.805943  4.00103
##   2:     657.30018: 0.0574996 0.0495752 0.177353 0.808447  4.00120
##   3:     657.25868: 0.0575087 0.0464664 0.178732 0.809446  4.00149
##   4:     657.24385: 0.0575472 0.0455065 0.179153 0.816326  4.00284
##   5:     657.18043: 0.0576187 0.0406911 0.175819 0.819421  4.00514
##   6:     657.15915: 0.0577658 0.0396894 0.174125 0.823573  4.00994
##   7:     656.89589: 0.0650782 0.0307889 0.159851 0.835708  4.25547
##   8:     656.67857: 0.0722682 0.0410887 0.169495 0.815603  4.50174
##   9:     656.65383: 0.0701015 0.0419868 0.169508 0.804269  4.77626
##  10:     656.62236: 0.0567236 0.0380876 0.170626 0.810902  4.92674
##  11:     656.60252: 0.0564682 0.0379035 0.162657 0.817067  4.93259
##  12:     656.55374: 0.0651501 0.0369001 0.163548 0.820356  4.90136
##  13:     656.53479: 0.0682746 0.0354001 0.156853 0.823081  4.97168
##  14:     656.53122: 0.0671877 0.0357766 0.158726 0.822210  4.97076
##  15:     656.53108: 0.0671338 0.0356616 0.158347 0.822495  4.98205
##  16:     656.53106: 0.0671658 0.0356677 0.158301 0.822436  4.98933
##  17:     656.53106: 0.0671639 0.0356682 0.158311 0.822432  4.98951
##  18:     656.53106: 0.0671640 0.0356686 0.158311 0.822431  4.98951
## 
## Final Estimate of the Negative LLH:
##  LLH:  970.24    norm LLH:  1.8481 
##      mu   omega  alpha1   beta1   shape 
## 0.12208 0.11784 0.15831 0.82243 4.98951 
## 
## R-optimhess Difference Approximated Hessian Matrix:
##               mu      omega    alpha1     beta1    shape
## mu     -324.9168     5.5822   -21.353   -27.649  -1.2116
## omega     5.5822 -1449.9008 -1588.634 -2739.585 -28.6692
## alpha1  -21.3529 -1588.6340 -3312.995 -4249.684 -49.0494
## beta1   -27.6490 -2739.5855 -4249.684 -6501.154 -69.0160
## shape    -1.2116   -28.6692   -49.049   -69.016  -1.5972
## attr(,"time")
## Time difference of 0.010877 secs
## 
## --- END OF TRACE ---
## 
## 
## Time to Estimate Parameters:
##  Time difference of 0.03199 secs
## Warning: Using formula(x) is deprecated when x is a character vector of length > 1.
##   Consider formula(paste(x, collapse = " ")) instead.
sigma <-  as.numeric(predict(garchfi2, n.ahead = 1)[3])
df <- as.numeric(coef(garchfi2)["shape"])
rand<-rt(100000, df=df)

#Plotting Histogram 
hist(rand, breaks=100)

quant<-qt(.01, df=df)
a<-sigma*quant #VaR
b<-max(tail(sort(rand, decreasing = T),1000))*sigma 

#VaR
a/b
## [1] 1.0018
#ES
d<-mean(tail(sort(rand, decreasing = T),1000))*sigma 
head(d/c)
## [1] -7.0036 -7.5542 -8.1439 -8.7308 -9.3042 -9.0054

Markovitz Mean Variance Optimization

#Monthly data for all stocks
JPM.Monthly<-to.monthly(data.JPM.Pandemic)
GS.Monthly<-to.monthly(data.GS.Pandemic)
DTE.Monthly<-to.monthly(data.DTE.Pandemic)
AES.Monthly<-to.monthly(data.AES.Pandemic)
AAPL.Monthly<-to.monthly(data.AAPL.Pandemic)
AMZN.Monthly<-to.monthly(data.AMZN.Pandemic)

#Calculating return for AMZN
AMZN.monthly.ret <-Delt(AMZN.Monthly$data.AMZN.Pandemic.Adjusted)
names(AMZN.monthly.ret)<-paste("AMZN.ret.monthly")
AMZN.monthly.ret[c(1:3,nrow(AMZN.monthly.ret))]
##          AMZN.ret.monthly
## Jul 2019               NA
## Aug 2019         -0.31583
## Sep 2019         -0.13535
## Jul 2021          3.14189
#Calculating return for JPM
JPM.monthly.ret <-Delt(JPM.Monthly$data.JPM.Pandemic.Adjusted)
names(JPM.monthly.ret)<-paste("JPM.ret.monthly")
JPM.monthly.ret[c(1:3,nrow(JPM.monthly.ret))]
##          JPM.ret.monthly
## Jul 2019              NA
## Aug 2019       -0.254814
## Sep 2019       -0.040835
## Jul 2021       -0.217572
#Calculating return for GS
GS.monthly.ret <-Delt(GS.Monthly$data.GS.Pandemic.Adjusted)
names(GS.monthly.ret)<-paste("GS.ret.monthly")
GS.monthly.ret[c(1:3,nrow(GS.monthly.ret))]
##          GS.ret.monthly
## Jul 2019             NA
## Aug 2019       -0.23178
## Sep 2019        0.17318
## Jul 2021       -0.34109
#Calculating return for DTE
DTE.monthly.ret <-Delt(DTE.Monthly$data.DTE.Pandemic.Adjusted)
names(DTE.monthly.ret)<-paste("DTE.ret.monthly")
DTE.monthly.ret[c(1:3,nrow(DTE.monthly.ret))]
##          DTE.ret.monthly
## Jul 2019              NA
## Aug 2019       -0.036296
## Sep 2019       -0.024309
## Jul 2021       -0.582009
#Calculating return for AES
AES.monthly.ret <-Delt(AES.Monthly$data.AES.Pandemic.Adjusted)
names(AES.monthly.ret)<-paste("AES.ret.monthly")
AES.monthly.ret[c(1:3,nrow(AES.monthly.ret))]
##          AES.ret.monthly
## Jul 2019              NA
## Aug 2019        -0.58027
## Sep 2019        -0.30263
## Jul 2021        -0.17699
#Calculating return for AAPL
AAPL.monthly.ret <-Delt(AAPL.Monthly$data.AAPL.Pandemic.Adjusted)
names(AAPL.monthly.ret)<-paste("AAPL.ret.monthly")
AAPL.monthly.ret[c(1:3,nrow(AAPL.monthly.ret))]
##          AAPL.ret.monthly
## Jul 2019               NA
## Aug 2019         -0.69482
## Sep 2019          0.22863
## Jul 2021          0.11256

Variance Covariance Matrix

#Calculating Variance Covarince Matrix
options(digits=3)
returns <-
cbind(JPM.monthly.ret[-1,],GS.monthly.ret[-1,],AES.monthly.ret[-1,],DTE.monthly.ret[-1,],AAPL.monthly.ret[-1,],AMZN.monthly.ret[-1,])
names(returns) <-
paste(c("JPM.Ret","GS.Ret","AES.Ret","DTE.Ret","AAPL.Ret","AMZN.Ret"))
returns[c(1:3,nrow(returns)),]
##          JPM.Ret  GS.Ret AES.Ret DTE.Ret AAPL.Ret AMZN.Ret
## Aug 2019 -0.2548 -0.2318  -0.580 -0.0363   -0.695  -0.3158
## Sep 2019 -0.0408  0.1732  -0.303 -0.0243    0.229  -0.1354
## Oct 2019  0.1880  0.0455   0.499  0.9824    0.339   0.0516
## Jul 2021 -0.2176 -0.3411  -0.177 -0.5820    0.113   3.1419
#Converting data to matrix
mat.ret<-matrix(returns,nrow(returns))
colnames(mat.ret) <- c("JPM","GS","AES","DTE","AAPL","AMZN")
head(mat.ret)
##          JPM      GS    AES     DTE   AAPL    AMZN
## [1,] -0.2548 -0.2318 -0.580 -0.0363 -0.695 -0.3158
## [2,] -0.0408  0.1732 -0.303 -0.0243  0.229 -0.1354
## [3,]  0.1880  0.0455  0.499  0.9824  0.339  0.0516
## [4,] -0.5071 -0.5894 -0.558 -0.6315 -0.665 -0.3084
## [5,]  0.2608  0.8785  1.565  0.2263  1.162  0.3032
## [6,]  0.7753  1.4066 -0.397  0.4736  0.980  5.2108
VCOV <- cov(mat.ret)

#VCOV
VCOV
##         JPM    GS    AES    DTE  AAPL    AMZN
## JPM  0.3978 0.228  0.355  0.274 0.213  0.0671
## GS   0.2285 0.234  0.190  0.170 0.190  0.2384
## AES  0.3555 0.190  0.518  0.284 0.195 -0.1843
## DTE  0.2736 0.170  0.284  0.376 0.117 -0.1132
## AAPL 0.2130 0.190  0.195  0.117 0.393  0.3567
## AMZN 0.0671 0.238 -0.184 -0.113 0.357  1.7498

Mean Value Optimizer

#Average return for the portfolio
avg.ret <- matrix(apply(mat.ret,2,mean))
colnames(avg.ret) <- paste("Avg.Ret")
rownames(avg.ret) <- paste(c("JPM","GS","AES","DTE","AAPL","AMZN"))
avg.ret
##      Avg.Ret
## JPM   0.0958
## GS    0.0773
## AES   0.1305
## DTE   0.1472
## AAPL  0.0983
## AMZN  0.3733
#set the smaller of the average returns as minimum return min.ret and the larger of the average returns as the max return max.ret.
min.ret <- min(avg.ret)
min.ret
## [1] 0.0773
#max return
max.ret <- max(avg.ret)
max.ret
## [1] 0.373
# Create a sequence that begins with min.ret and ends with max.ret with 100 increments in between.
increments = 100
tgt.ret <- seq(min.ret,max.ret,length=increments)
head(tgt.ret)
## [1] 0.0773 0.0803 0.0833 0.0863 0.0893 0.0923
tail(tgt.ret)
## [1] 0.358 0.361 0.364 0.367 0.370 0.373
#Construct Dummy Portfolio Standard Deviation Vector
tgt.sd <- rep(0,length=increments)
head(tgt.sd)
## [1] 0 0 0 0 0 0
tail(tgt.sd)
## [1] 0 0 0 0 0 0
wgt <- matrix(0,nrow=increments,ncol=length(avg.ret))
head(wgt)
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    0    0    0    0    0    0
## [2,]    0    0    0    0    0    0
## [3,]    0    0    0    0    0    0
## [4,]    0    0    0    0    0    0
## [5,]    0    0    0    0    0    0
## [6,]    0    0    0    0    0    0
tail(wgt)
##        [,1] [,2] [,3] [,4] [,5] [,6]
##  [95,]    0    0    0    0    0    0
##  [96,]    0    0    0    0    0    0
##  [97,]    0    0    0    0    0    0
##  [98,]    0    0    0    0    0    0
##  [99,]    0    0    0    0    0    0
## [100,]    0    0    0    0    0    0
#Run the quadprog Optimizer
for (i in 1:increments) {
  Dmat <- 2*VCOV
  dvec <- c(rep(0,length(avg.ret)))
  Amat <- cbind(rep(1,length(avg.ret)),avg.ret,diag(1,nrow=ncol(returns))) 
  bvec <- c(1,tgt.ret[i],rep(0,ncol(returns)))
  soln <- solve.QP(Dmat,dvec,Amat,bvec=bvec)
  tgt.sd[i] <- sqrt(soln$value)
  wgt[i,] <- soln$solution
}

#Checking tgd.sd
head(tgt.sd)
## [1] 0.457 0.457 0.457 0.457 0.457 0.457
tail(tgt.sd)
## [1] 0.880 0.888 0.895 0.902 0.910 0.917
options(scipen=100)
head(wgt)
##      [,1]  [,2]   [,3] [,4] [,5]   [,6]
## [1,]    0 0.512 0.0207 0.27 0.16 0.0368
## [2,]    0 0.512 0.0207 0.27 0.16 0.0368
## [3,]    0 0.512 0.0207 0.27 0.16 0.0368
## [4,]    0 0.512 0.0207 0.27 0.16 0.0368
## [5,]    0 0.512 0.0207 0.27 0.16 0.0368
## [6,]    0 0.512 0.0207 0.27 0.16 0.0368
# Overwrite the first entries, thaty are not zero due to a calculation error.Also rename the column headers.
colnames(wgt) <- paste(c("wgt.JPM","wgt.GS","wgt.AES","wgt.DTE","wgt.AAPL","wgt.AMZN"))
wgt[1,1] <- 0
wgt[nrow(wgt),2] <- 0
head(wgt)
##      wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL wgt.AMZN
## [1,]       0  0.512  0.0207    0.27     0.16   0.0368
## [2,]       0  0.512  0.0207    0.27     0.16   0.0368
## [3,]       0  0.512  0.0207    0.27     0.16   0.0368
## [4,]       0  0.512  0.0207    0.27     0.16   0.0368
## [5,]       0  0.512  0.0207    0.27     0.16   0.0368
## [6,]       0  0.512  0.0207    0.27     0.16   0.0368
# Combine Portfolio Returns, Portfolio Standard Deviations, and PortfolioWeights
tgt.port <- data.frame(cbind(tgt.ret,tgt.sd,wgt))
head(tgt.port)
##   tgt.ret tgt.sd wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL wgt.AMZN
## 1  0.0773  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 2  0.0803  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 3  0.0833  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 4  0.0863  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 5  0.0893  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 6  0.0923  0.457       0  0.512  0.0207    0.27     0.16   0.0368
minvar.port <-subset(tgt.port,tgt.port$tgt.sd==min(tgt.port$tgt.sd))
head(minvar.port)
##   tgt.ret tgt.sd wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL wgt.AMZN
## 1  0.0773  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 2  0.0803  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 3  0.0833  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 4  0.0863  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 5  0.0893  0.457       0  0.512  0.0207    0.27     0.16   0.0368
## 6  0.0923  0.457       0  0.512  0.0207    0.27     0.16   0.0368

Tangency Portfolio

#3-month treasury as of end of Dec-31-2020 was 0.09%
riskfree = .0009/12
tgt.port$Sharpe <- (tgt.port$tgt.ret-riskfree)/tgt.port$tgt.sd
head(tgt.port)
##   tgt.ret tgt.sd wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL wgt.AMZN Sharpe
## 1  0.0773  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.169
## 2  0.0803  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.175
## 3  0.0833  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.182
## 4  0.0863  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.189
## 5  0.0893  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.195
## 6  0.0923  0.457       0  0.512  0.0207    0.27     0.16   0.0368  0.202
# Identify the portfolio with the highest Sharpe Ratio and that is the tangency portfolio.
tangency.port <-subset(tgt.port,tgt.port$Sharpe==max(tgt.port$Sharpe))
tangency.port
##     tgt.ret tgt.sd                wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL
## 100   0.373  0.917 -0.0000000000000000787      0   0.329   0.806        0
##     wgt.AMZN Sharpe
## 100    0.567  0.407

Plot the Mean-Variance (MV) Efficient Frontier

#Efficient Frontier
eff.frontier <-subset(tgt.port,tgt.port$tgt.ret>=minvar.port$tgt.ret)
eff.frontier[c(1:3,nrow(eff.frontier)),]
##     tgt.ret tgt.sd                wgt.JPM wgt.GS wgt.AES wgt.DTE wgt.AAPL
## 1    0.0773  0.457  0.0000000000000000000  0.512  0.0207   0.270     0.16
## 2    0.0803  0.457  0.0000000000000000000  0.512  0.0207   0.270     0.16
## 3    0.0833  0.457  0.0000000000000000000  0.512  0.0207   0.270     0.16
## 100  0.3733  0.917 -0.0000000000000000787  0.000  0.3285   0.806     0.00
##     wgt.AMZN Sharpe
## 1     0.0368  0.169
## 2     0.0368  0.175
## 3     0.0368  0.182
## 100   0.5674  0.407
#Plot Mean-Variance(MV) Efficient Frontier of Portfolio- Six
plot(x=tgt.sd,
     y=tgt.ret,
     col="green",
     xlab="Portfolio Risk",
     ylab="Portfolio Return",
    main="Mean-Variance(MV) Efficient Frontier of Portfolio- Six
     Securities Based on the Quadratic Programming Approach")
abline(h=0,lty=1)
points(x=minvar.port$tgt.sd,y=minvar.port$tgt.ret,pch=17,cex=3)
points(x=tangency.port$tgt.sd,y=tangency.port$tgt.ret,pch=19,cex=3)
points(x=eff.frontier$tgt.sd,y=eff.frontier$tgt.ret)

Diversification Benefits

#Calcculating covarionace of Return series
Idx <- interpNA(returns, method = "before")
R <- returnseries(Idx, method = "discrete", trim = TRUE)
V <- cov(R)
head(Idx)
##          JPM.Ret  GS.Ret AES.Ret DTE.Ret AAPL.Ret AMZN.Ret
## Aug 2019 -0.2548 -0.2318  -0.580 -0.0363   -0.695  -0.3158
## Sep 2019 -0.0408  0.1732  -0.303 -0.0243    0.229  -0.1354
## Oct 2019  0.1880  0.0455   0.499  0.9824    0.339   0.0516
## Nov 2019 -0.5071 -0.5894  -0.558 -0.6315   -0.665  -0.3084
## Dec 2019  0.2608  0.8785   1.565  0.2263    1.162   0.3032
## Jan 2020  0.7753  1.4066  -0.397  0.4736    0.980   5.2108
# The allocations according to the four portfolio optimizations are then extracted by means of the Weights() method and assigned to the objects GMVw, MDPw, MTDw, and ERCw for the global-minimum variance, most-diversified, minimum tail-dependent, and equal-risk contributed solutions, respectively.

#The global-minimum variance portfolio.
GMVw <- Weights(PGMV(R))
## Iteration: 0
## pobj: 18561.8
## dobj: 18560.7
## pinf: 2.61181
## dinf: 3.9396
## dgap: 10.308
## 
## Iteration: 1
## pobj: 18561.8
## dobj: 18561.1
## pinf: 0.284794
## dinf: 0.429577
## dgap: 1.70433
## 
## Iteration: 2
## pobj: 18561.8
## dobj: 18561.4
## pinf: 0.168441
## dinf: 0.254072
## dgap: 1.07867
## 
## Iteration: 3
## pobj: 18561.8
## dobj: 18561.7
## pinf: 0.162616
## dinf: 0.245286
## dgap: 1.06163
## 
## Iteration: 4
## pobj: 18561.8
## dobj: 18562.4
## pinf: 0.16231
## dinf: 0.244824
## dgap: 1.06037
## 
## Iteration: 5
## pobj: 18561.8
## dobj: 18564.2
## pinf: 0.162256
## dinf: 0.244743
## dgap: 1.06021
## 
## Iteration: 6
## pobj: 21236.5
## dobj: 22170.7
## pinf: 0.0302418
## dinf: 0.0456161
## dgap: 236.744
## 
## Iteration: 7
## pobj: 21440.7
## dobj: 22201.8
## pinf: 0.0235934
## dinf: 0.0355878
## dgap: 201.284
## 
## Iteration: 8
## pobj: 21457.8
## dobj: 22259.9
## pinf: 0.0230797
## dinf: 0.0348129
## dgap: 200.216
## 
## Iteration: 9
## pobj: 28747.4
## dobj: 25460
## pinf: 0.000465606
## dinf: 0.00070231
## dgap: 3505.35
## 
## Iteration: 10
## pobj: 26485.5
## dobj: 25937.3
## pinf: 4.74065e-14
## dinf: 1.10824e-10
## dgap: 548.181
## 
## Iteration: 11
## pobj: 26024.6
## dobj: 25969.9
## pinf: 9.25926e-14
## dinf: 1.57571e-10
## dgap: 54.6511
## 
## Iteration: 12
## pobj: 25974.3
## dobj: 25971.2
## pinf: 1.803e-13
## dinf: 2.54138e-10
## dgap: 3.12895
## 
## Iteration: 13
## pobj: 25974.3
## dobj: 25977
## pinf: 5.50124e-05
## dinf: 1.21332e-09
## dgap: 0.157802
## 
## Iteration: 14
## pobj: 25974.3
## dobj: 25977.2
## pinf: 5.77897e-05
## dinf: 4.28858e-09
## dgap: 0.00789355
## 
## Iteration: 15
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.79287e-05
## dinf: 1.47176e-09
## dgap: 0.000394686
## 
## Iteration: 16
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.79356e-05
## dinf: 6.89337e-10
## dgap: 1.97343e-05
## 
## Iteration: 17
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 6.16699e-10
## dgap: 9.86716e-07
## 
## Iteration: 18
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 7.55579e-10
## dgap: 4.93358e-08
## 
## Iteration: 19
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 1.0933e-08
## dgap: 2.46679e-09
## 
## Iteration: 20
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.23639e-09
## dgap: 1.2334e-10
## 
## Iteration: 21
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37227e-09
## dgap: 6.16698e-12
## 
## Iteration: 22
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37694e-09
## dgap: 3.08349e-13
## 
## Iteration: 23
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40241e-09
## dgap: 1.54174e-14
## 
## Iteration: 24
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37258e-09
## dgap: 7.70872e-16
## 
## Iteration: 25
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.39268e-09
## dgap: 3.85436e-17
## 
## Iteration: 26
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3848e-09
## dgap: 1.92718e-18
## 
## Iteration: 27
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38132e-09
## dgap: 9.6359e-20
## 
## Iteration: 28
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40155e-09
## dgap: 4.81795e-21
## 
## Iteration: 29
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3753e-09
## dgap: 2.40898e-22
## 
## Iteration: 30
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37726e-09
## dgap: 1.20449e-23
## 
## Iteration: 31
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40933e-09
## dgap: 6.02244e-25
## 
## Iteration: 32
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37646e-09
## dgap: 3.01122e-26
## 
## Iteration: 33
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37629e-09
## dgap: 1.50561e-27
## 
## Iteration: 34
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3848e-09
## dgap: 7.52805e-29
## 
## Iteration: 35
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37493e-09
## dgap: 3.76402e-30
## 
## Iteration: 36
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37258e-09
## dgap: 1.88201e-31
## 
## Iteration: 37
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37319e-09
## dgap: 9.41006e-33
## 
## Iteration: 38
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38325e-09
## dgap: 4.70503e-34
## 
## Iteration: 39
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.41022e-09
## dgap: 2.35251e-35
## 
## Iteration: 40
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37551e-09
## dgap: 1.17626e-36
## 
## Iteration: 41
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38854e-09
## dgap: 5.88129e-38
## 
## Iteration: 42
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37513e-09
## dgap: 2.94064e-39
## 
## Iteration: 43
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37726e-09
## dgap: 1.47032e-40
## 
## Iteration: 44
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40856e-09
## dgap: 7.35161e-42
## 
## Iteration: 45
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40215e-09
## dgap: 3.6758e-43
## 
## Iteration: 46
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37609e-09
## dgap: 1.8379e-44
## 
## Iteration: 47
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37258e-09
## dgap: 9.18951e-46
## 
## Iteration: 48
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38035e-09
## dgap: 4.59476e-47
## 
## Iteration: 49
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37513e-09
## dgap: 2.29738e-48
## 
## Iteration: 50
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37222e-09
## dgap: 1.14869e-49
## 
## Iteration: 51
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38226e-09
## dgap: 5.74344e-51
## 
## Iteration: 52
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3753e-09
## dgap: 2.87172e-52
## 
## Iteration: 53
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37377e-09
## dgap: 1.43586e-53
## 
## Iteration: 54
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3728e-09
## dgap: 7.17931e-55
## 
## Iteration: 55
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37222e-09
## dgap: 3.58965e-56
## 
## Iteration: 56
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3846e-09
## dgap: 1.79483e-57
## 
## Iteration: 57
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38151e-09
## dgap: 8.97413e-59
## 
## Iteration: 58
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37609e-09
## dgap: 4.48707e-60
## 
## Iteration: 59
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37297e-09
## dgap: 2.24353e-61
## 
## Iteration: 60
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37803e-09
## dgap: 1.12177e-62
## 
## Iteration: 61
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37462e-09
## dgap: 5.60883e-64
## 
## Iteration: 62
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40215e-09
## dgap: 2.80442e-65
## 
## Iteration: 63
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38274e-09
## dgap: 1.40221e-66
## 
## Iteration: 64
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37667e-09
## dgap: 7.01104e-68
## 
## Iteration: 65
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38429e-09
## dgap: 3.50552e-69
## 
## Iteration: 66
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.375e-09
## dgap: 1.75276e-70
## 
## Iteration: 67
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40155e-09
## dgap: 8.7638e-72
## 
## Iteration: 68
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3811e-09
## dgap: 4.3819e-73
## 
## Iteration: 69
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37568e-09
## dgap: 2.19095e-74
## 
## Iteration: 70
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37455e-09
## dgap: 1.09548e-75
## 
## Iteration: 71
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38074e-09
## dgap: 5.47738e-77
## 
## Iteration: 72
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.375e-09
## dgap: 2.73869e-78
## 
## Iteration: 73
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37413e-09
## dgap: 1.36934e-79
## 
## Iteration: 74
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37513e-09
## dgap: 6.84672e-81
## 
## Iteration: 75
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37687e-09
## dgap: 3.42336e-82
## 
## Iteration: 76
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.41998e-09
## dgap: 1.71168e-83
## 
## Iteration: 77
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37268e-09
## dgap: 8.5584e-85
## 
## Iteration: 78
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.39432e-09
## dgap: 4.2792e-86
## 
## Iteration: 79
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38158e-09
## dgap: 2.1396e-87
## 
## Iteration: 80
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37646e-09
## dgap: 1.0698e-88
## 
## Iteration: 81
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.375e-09
## dgap: 5.349e-90
## 
## Iteration: 82
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3839e-09
## dgap: 2.6745e-91
## 
## Iteration: 83
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40446e-09
## dgap: 1.33725e-92
## 
## Iteration: 84
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38545e-09
## dgap: 6.68625e-94
## 
## Iteration: 85
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.3728e-09
## dgap: 3.34312e-95
## 
## Iteration: 86
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.40446e-09
## dgap: 1.67156e-96
## 
## Iteration: 87
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.43569e-09
## dgap: 8.35781e-98
## 
## Iteration: 88
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38267e-09
## dgap: 4.17891e-99
## 
## Iteration: 89
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38267e-09
## dgap: 2.08945e-100
## 
## Iteration: 90
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37413e-09
## dgap: 1.04473e-101
## 
## Iteration: 91
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38093e-09
## dgap: 5.22363e-103
## 
## Iteration: 92
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37261e-09
## dgap: 2.61182e-104
## 
## Iteration: 93
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.39136e-09
## dgap: 1.30591e-105
## 
## Iteration: 94
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37222e-09
## dgap: 6.52954e-107
## 
## Iteration: 95
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38883e-09
## dgap: 3.26477e-108
## 
## Iteration: 96
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38969e-09
## dgap: 1.63238e-109
## 
## Iteration: 97
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.38286e-09
## dgap: 8.16192e-111
## 
## Iteration: 98
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37229e-09
## dgap: 4.08096e-112
## 
## Iteration: 99
## pobj: 25974.3
## dobj: 25977.3
## pinf: 5.7936e-05
## dinf: 4.37375e-09
## dgap: 2.04048e-113
## 
## Optimal solution not determined in 100 iteration(s).
#The most diversified Portfolio
MDPw <- Weights(PMD(R))
## Iteration: 0
## pobj: 0.0968723
## dobj: -0.947098
## pinf: 0
## dinf: 2.98757
## dgap: 1.04397
## 
## Iteration: 1
## pobj: 0.0957649
## dobj: 0.00910916
## pinf: 5.00371e-17
## dinf: 0.247451
## dgap: 0.0866557
## 
## Iteration: 2
## pobj: 0.0927775
## dobj: 0.0761668
## pinf: 7.07631e-17
## dinf: 0.0410278
## dgap: 0.0166106
## 
## Iteration: 3
## pobj: 0.0915276
## dobj: 0.0883556
## pinf: 6.93889e-17
## dinf: 0.00537082
## dgap: 0.003172
## 
## Iteration: 4
## pobj: 0.0911306
## dobj: 0.0903417
## pinf: 3.46945e-17
## dinf: 0.000702537
## dgap: 0.000788922
## 
## Iteration: 5
## pobj: 0.091059
## dobj: 0.0909149
## pinf: 7.88107e-17
## dinf: 4.60475e-05
## dgap: 0.000144078
## 
## Iteration: 6
## pobj: 0.0910548
## dobj: 0.09104
## pinf: 6.86915e-17
## dinf: 2.58324e-06
## dgap: 1.4771e-05
## 
## Iteration: 7
## pobj: 0.0910547
## dobj: 0.0910539
## pinf: 6.3596e-17
## dinf: 1.32458e-07
## dgap: 8.54163e-07
## 
## Optimal solution found.
#The equal-risk contributed Portfolio
ERCw <- Weights(PERC(V))
## Iteration: 0
## pobj: 0
## dobj: 3.10768e+06
## pinf: 1
## dinf: 1
## dgap: 7
## 
## Iteration: 1
## pobj: -2.95229e+06
## dobj: 7774.88
## pinf: 0.952496
## dinf: 0.050002
## dgap: 0.350209
## 
## Iteration: 2
## pobj: -156985
## dobj: 27.6728
## pinf: 0.0505241
## dinf: 0.00252237
## dgap: 0.0182416
## 
## Iteration: 3
## pobj: -8448.04
## dobj: 9.14291
## pinf: 0.00272137
## dinf: 0.000268944
## dgap: 0.00244755
## 
## Iteration: 4
## pobj: -411.337
## dobj: 9.026
## pinf: 0.000135266
## dinf: 0.000102757
## dgap: 0.000479246
## 
## Iteration: 5
## pobj: -127.492
## dobj: 8.98212
## pinf: 4.3915e-05
## dinf: 4.66023e-05
## dgap: 0.000166702
## 
## Iteration: 6
## pobj: -5.71116
## dobj: 8.95781
## pinf: 4.72023e-06
## dinf: 1.28668e-05
## dgap: 2.5897e-05
## 
## Iteration: 7
## pobj: 8.00169
## dobj: 8.95371
## pinf: 3.06343e-07
## dinf: 2.03371e-06
## dgap: 2.14103e-06
## 
## Iteration: 8
## pobj: 8.89104
## dobj: 8.95358
## pinf: 2.01238e-08
## dinf: 1.69518e-07
## dgap: 1.47369e-07
## 
## Optimal solution found.
#Minimum tail-dependent portfolio
MTDw <- Weights(PMTD(R))
## Iteration: 0
## pobj: 0.350159
## dobj: -0.694728
## pinf: 0
## dinf: 3.00911
## dgap: 1.04489
## 
## Iteration: 1
## pobj: 0.348754
## dobj: 0.265618
## pinf: 6.20634e-17
## dinf: 0.238911
## dgap: 0.0831359
## 
## Iteration: 2
## pobj: 0.344182
## dobj: 0.331936
## pinf: 1.19381e-16
## dinf: 0.0300596
## dgap: 0.0122463
## 
## Iteration: 3
## pobj: 0.341364
## dobj: 0.33861
## pinf: 2.22045e-16
## dinf: 0.0031782
## dgap: 0.0027537
## 
## Iteration: 4
## pobj: 0.340376
## dobj: 0.339825
## pinf: 2.22045e-16
## dinf: 0.000100002
## dgap: 0.000551229
## 
## Iteration: 5
## pobj: 0.340147
## dobj: 0.340078
## pinf: 6.66134e-16
## dinf: 2.87904e-06
## dgap: 6.85831e-05
## 
## Iteration: 6
## pobj: 0.340118
## dobj: 0.340114
## pinf: 1.33227e-15
## dinf: 1.47854e-07
## dgap: 4.76785e-06
## 
## Iteration: 7
## pobj: 0.340116
## dobj: 0.340116
## pinf: 2.44249e-15
## dinf: 7.41479e-09
## dgap: 2.4573e-07
## 
## Optimal solution found.
# The weights are then collected in the matrix object W. This object is then used in the call to the apply() function to determine the marginal risk contributions for each of the four optimal weight vectors.
W <- cbind(GMVw, MDPw, MTDw, ERCw)
MRC <- apply(W, 2, mrc, Sigma = V)
rownames(MRC) <- colnames(Idx)
colnames(MRC) <- c("GMV", "MDP", "MTD", "ERC")
oldpar <- par(no.readonly = TRUE)

#Plotting dot chart
par(mfrow = c(2, 2))
dotchart(GMVw, xlim = c(0, 40), main = "GMV Allocation", pch = 19)
dotchart(MDPw - GMVw, xlim = c(-20, 20), main = "MDP vs. GMV",
         pch = 19)
abline(v = 0, col = "blue")
dotchart(MTDw - GMVw, xlim = c(-20, 20), main = "MTD vs. GMV", pch = 19)
abline(v = 0, col = "blue")
dotchart(ERCw - GMVw, xlim = c(-20, 20), main = "ERC vs. GMV",
pch = 19)
abline(v = 0, col = "blue")

#Rdec
Rdec <- R / 100
Pret <- apply(W, 2, function(x) Rdec %*% x / 100)
SD <- apply(Pret, 2, sd) 
ES95 <-
  apply(Pret, 2, function(x)
    abs(ES(R = x, method = "modified")))
DR <- apply(W, 2, dr, Sigma = V)
CR <- apply(W, 2, cr, Sigma = V)


## Summarising results
Res <- rbind(SD, ES95, DR, CR)

Res
##      GMVw  MDPw  MTDw  ERCw
## SD   2.28 4.362 5.775 3.354
## ES95 1.00 1.000 1.000 1.000
## DR   1.81 2.343 2.257 2.264
## CR   0.29 0.219 0.236 0.175